﻿using Columbus.Controls;

namespace Columbus
{
    public interface INavigator
    {
        void Navigate(NavigationRequest request, NavigationDirection direction = NavigationDirection.Forward);
        void NavigateToView(string viewName, object viewModel = null);
        bool NavigateBack();

        Frame NavigationFrame { get; }
        string NavigationFrameName { get; }

        void Initialize(Frame navigationFrame, ITransientStore transientStore);
        void Deactivate(ITransientStore transientStore);
        void Activate(ITransientStore transientStore, IApplicationSettings settings);
    }
}